!--------------------------------------------------- ! Scene 2: Home !--------------------------------------------------- Object mijnslaap "In your bedroom" with name 'bedroom' 'room', description "The weak light of the moon, which enters the room through the window, envelops the furniture of the bedroom in a cloak of unworldly beauty. Only the soft breathing of your wife in the large bed breaches the silence. The door next to the heavy oaken wardrobe leads to the landing to the north. It is ice cold in the unheated room.", n_to over_deur, has light transparent; Object mijnbed "bed" mijnslaap class Furniture, with name 'bed' 'large', description "The large bed, which you have built yourself, fills almost half the room. Moonlight creeps over the many-coloured blanket which rises and falls with each breath your wife takes.", react_before [; Sleep: if (parent(player) == self) { "If only you could fall asleep again, if only you could just stop thinking of Maartje. But you cannot. You can't sleep until you have at least tried to free her. You will keep thinking of Maartje, and even if you were somehow able to pretend she was contentedly sleeping in her bedroom, there will be another day tomorrow, and yet another the day after, and the truth would eventually overcome you. It is better to face the evil today than to postpone it until tomorrow."; }; ], has enterable transparent scenery; Object deken "blanket" mijnbed class Prop, with name 'blanket' 'sheet' 'many-coloured', description "Crimson, sea-blue and pine squares, hardly recognisable in the twilight, alternate seemingly without pattern. Your wife Hilde made this blanket to fit the bed you built. You followed the tradition: only after finishing both could your marriage take place.", before [; Touch: "Softly, you caress the blanket and think of happier times."; ], has ; Object vrouw "Hilde" mijnbed with name 'wife' 'woman' 'lover' 'girlfriend' 'Hilde', slaap 0, description [; if (self.slaap == 0) { self.slaap = 1;"You lean forward to better see Hilde's face; for just a moment she seems to go rigid and her breathing falters before resuming its steady rhythm. But you know enough--she is awake! She knows where you are going, but pretends to be asleep. A quiet approval she'd never be able to express in words? Or is she simply too afraid to confront you?"; } else { "Hilde's tranquil, angelic face and her rhythmic breathing do not betray that she is awake. She knows where you are going, but pretends to be asleep. A quiet approval she'd never be able to express? Or is she simply too afraid to confront you?"; }; ], before [; Answer, Ask, AskFor, Tell, Squeeze, Spreek: if(self.slaap == 0){"No, you do not wish to wake Hilde. She is strongly opposed to you endangering your life in an attempt to free your daughter. During the past few days, each time you brought up your intention to save her from the talons of the baron, Hilde exclaimed that she couldn't bear to lose you as well. It is better to leave quietly and let her sleep.";} else {"It is better not to disrupt the fa@ccade. Let her pretend to be asleep. It is easier for her to accept what you are going to do when she is not confronted with it explicitly. Besides, you don't like to think about the risks yourself.";}; Attack: "You ball your fists in a sudden moment of anger. ~It would be for eternity!,~ flashes through your mind--but as soon as the thought disappears, you no longer understand what it meant. You would never attack your wife Hilde. After all, you love her"; Kiss: if(self.slaap == 0){self.slaap = 1;"You lean forward to kiss Hilde's face; for just a moment she seems to go rigid and her breathing falters before resuming its steady rhythm. But you know enough--she is awake! She knows where you are going, but pretends to be asleep. A quiet approval she'd never be able to express in words? Or is she simply too afraid to confront you?";} else {"Your lips brush her pale cheek in the tenderest sign of farewell. Strangely, it seems as if she tenses and tries to bury her head deeper into the pillow.";}; Listen: if(self.slaap == 0){"Hilde's rhythmic breathing is a reassuring sound in this dangerous night.";} else{"Hilde's rhythmic breathing doesn't betray that she is, in fact, awake.";}; Pull, Push: "You would never use violence against your wife."; Smell: "Her smell you would recognise among thousands; it is the smell of warmth and security."; Touch, Knuffel: if(self.slaap == 0){"You'd better not do that; she might wake.";} else{"You let your fingertips brush her cheek and play with her blond hair. She trembles momentarily, but keeps up her act and pretends to be asleep.";}; WakeOther: if(self.slaap == 0){<>;} else{"How can you wake someone who is not asleep?";}; ], orders [; default: if (self.slaap == 0) { "You don't want to wake Hilde. Even if she wouldn't stop you, she would only worry unnecessarily if she knew what acts of heroism you will perform tonight.";} else { "Hilde doesn't react to your command."; }; ], has animate female proper scenery; Object mijn_kussen "pillow" mijnbed class Prop, with name 'pillow' 'pillows', description "A simple pillow, filled with feathers.", has ; Object stoel "chair" mijnslaap class PropSup, with name 'chair' 'stool' 'seat', description "A simple wooden chair on which you hang your clothes at night.", before[; Enter: move player to self; "You seat yourself on the chair."; Exit, GetOff: move player to parent(self); "You get up."; ], react_before [; Go, Open, Close, Search, Take, Enter, LookUnder, Pull, Push, JumpOver, Attack, Climb, Burn, Dig, Cut, Jump: if(parent(player) == self) { move player to parent(self); print "First you get up.^"; return false; } return false; Sit: <>; default: return false; ], has enterable supporter transparent scenery static; Object kleding "your work clothes" stoel with name 'clothes' 'clothing' 'work', description "These are the clothes you wear when you go to fell trees in the woods on weekdays: tough jeans, a red-blue checkered shirt and two heavy leather boots. A faint smell of sweat hangs around the shirt.", before [; Wear: if(jas has worn && kleding hasnt worn) "You cannot wear your work clothes over your winter coat."; Disrobe: if(jas has worn && kleding has worn) "You will have to take off your coat before you can take off your work clothes."; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { if(verhaaltracker.status == 5) { "In these empty halls, not many will be impressed by your self-immolation."; } else { ZelfVerbrand(); }; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has clothing proper transparent pluralname; Object hemd "lumberjack's shirt" kleding with name 'shirt' 'lumberjack' 'checked' 'sweat' 'woollen', description "A red-blue checkered woollen shirt, spun, coloured and knitted by hand by your wife Hilde. The smell of the honest sweat of hard work hangs around it.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; Burn: <>; Smell: "Unmistakably the rank smell of sweat. But according to Hilde, that is erotic."; ], has concealed; Object broek "lumberjack's jeans" kleding with name 'jeans' 'lumberjack' 'trousers' 'tough' 'Levi^s', description "Blue Levi's, clearly showing signs of the abuse that they went through while you did your job. That they are still intact is a proof of their durability.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; Burn: <>; ], has male concealed; Object laarzen "lumberjack's boots" kleding with name 'boot' 'boots' 'leather' 'heavy' 'lumberjack' 'shoes', description "A pair of leather boots, with steel toes for extra protection.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; Burn: <>; ], has pluralname concealed; Object kast "wardrobe" mijnslaap class Furniture, with name 'wardrobe' 'closet' 'oaken' 'heavy', description "This large piece of furniture has taken you weeks. Not only did you fell the tree from which it is made yourself, you also sawed it into planks, sandpapered them, built the wardrobe, varnished it, and even made the subtle carvings. The memory of those happy first months of your marriage, when you and Hilde furnished your small house, makes you smile. The two of you had little money, but more than made up for that with lots of enthusiasm.", has container ~open openable scenery; Object kastkleding "large amount of dresses, jeans and other pieces of clothing" kast class Prop, with name 'large' 'amount' 'jeans' 'other' 'pieces' 'clothing' 'clean', description "In this wardrobe you keep all your clothes, neatly folded, ironed and stacked into orderly piles. In a narrow part to the side hang all your wife's dresses.", before [; Take, Remove: "Your finger the clothes absently, but none of them seem more appropriate than your work clothes."; ], parse_name [; if (NextWord() == 'clean' or 'new') { if(NextWord() == 'shirt' or 'jeans' or 'boots' or 'shoes' or 'trousers' or 'clothes' or 'clothing') return 2;wn--; }; if (NextWord() == 'in'){ if (NextWord() == 'wardrobe' or 'closet' or 'oaken' or 'heavy') return 3;wn--;};wn--;wn--; return -1; ], has static transparent ~scenery; Object jurken "dresses" kastkleding class Prop, with name 'dresses' 'dress', description "Your fingers brush past the rough, stiff cloth of the dresses. Practical and without frills, they are the work clothes of a busy housewife. In the very back of the wardrobe hides the white satin of Hilde's bridal gown, as if it doesn't want to be seen with the other clothes.", has concealed static pluralname; Object trouwjurk "bridal gown" kastkleding class Prop, with name 'bridal' 'gown' 'wedding', description [; print "You hold the cool, soft cloth and close your eyes for a moment. Memories of your wedding resurface with great intensity; it is as if not a single day has gone by, so clearly can you see it all in your mind."; if (verhaaltracker.bruiloft == 0) {Herinner(1);} ! Bruiloft else{print "^";}; ], before [; Touch, Take: <>; ], has concealed static; Object broeken "jeans" kastkleding class Prop, with name 'jeans' 'trousers', description "These tough jeans are the ideal clothing for a lumberjack: indestructible.", has concealed static pluralname; Object houtsnijwerk "carvings" mijnslaap class Prop, with name 'carvings' 'decorations' 'wood' 'carving' 'figures', description "Hearts, birds, flowers and other figures that dwelt in your amorous mind when you carved these decorations circle artfully about each other.", has pluralname; Object hartjes_snijwerk "carved hearts" mijnslaap class Prop, with name 'heart' 'hearts', description "Small hearts run along the entire edge of the wardrobe.", has pluralname; Object vogels_snijwerk "carved birds" mijnslaap class Prop, with name 'bird' 'birds' 'flock' 'flocks', description "The carved birds circle gracefully around long trails of flowers.", has pluralname; Object bloemen_snijwerk "carved flowers" mijnslaap class Prop, with name 'flower' 'flowers' 'trail' 'trails', description "The large wardrobe is decorated with trails of flowers wherein both local and exotic flowers can be seen. Flocks of little birds circle around them.", has pluralname; Object raam "window" mijnslaap with name 'window' 'windowpane' 'outside', description "Unworldly moonlight enters the room through the window. The village outside is covered under a thick layer of snow, making the church tower rise like an accusing black finger from a white sea. ~How is it possible,~ you wonder, ~that this scenery seems so lovely and charming, but is so icy cold and hostile?~", before [; Search: <>; Close: if(self has open){give self ~open; "You close the window, and the cold wind no longer blows through the room.";}; Open: if(self hasnt open){give self open; "The window swings open, and an icy wind immediately enters the room. Standing in the moonlight, you let your gaze glide over the winter landscape. Somewhere to the right, far in the woods, lies the castle of the baron - the black structure wherein your little girl suffers mortal fears.";}; Climb: "Although that is a way to get outside and start your journey to the castle, it seems more sensible to use the stairs."; ], has scenery openable ~open; Object barentopf_raam "Barentopf" class Prop, with name 'barentopf' 'topf', found_in mijnslaap tuin, description [; if (location == mijnslaap){ "Through the window you can see the snow-covered Barentopf rising behind the village. It is the highest hill in the neighbourhood."; } else{ "You can see the snow-covered Barentopf rising behind the village. It is the highest hill in the neighbourhood, but it does not lie in the right direction if you wish to reach the baron."; }; ], has scenery male; Object dorp_raam "village" class Prop, with name 'village' 'houses' 'house' 'residence' 'residences' 'city' 'hamlet', found_in mijnslaap tuin, description [; if (location == mijnslaap){ "Because your house lies on a hill at the edge of the village, you have a good view of the other residences from the window. Lights burn behind only a few windows; in this winter night, the rest of the village is wrapped in darkness and snow."; } else{ "Your house lies at the edge of the village, which in this cold December night is burdened with a thick layer of snow. At this time of the night, nobody walks the streets anymore. The village wraps itself in silence."; }; ], has scenery; Object sneeuw_raam "snow" class Prop, with name 'snow' 'white' 'layer' 'thick', found_in mijnslaap tuin, description "During the past few days, a thick layer of white snow has settled on the landscape. The snow gives the world a pristine appearance, except in the streets, where it has degenerated into a dirty brown sludge.", has scenery; Object kerk_raam "church" class Prop, with name 'church' 'churchtower' 'tower', found_in mijnslaap tuin, description [; if (location == mijnslaap){ "The church tower rises from the white snow like an accusing black finger."; } else{ "The top of the church tower just peeks above the houses on the other side of the street, like a black finger against the star-filled sky."; }; ], has scenery; Object sterren_raam "stars" class Prop, with name 'stars' 'star' 'galaxy' 'sky' 'twinkling', found_in mijnslaap tuin haarslaap bos_1 bos_2 bos_3 ophaalbrug, description [; if (wolvin.status == 99) { "The night sky is spangled with thousands of flickering stars, eyes keeping watch over the animals."; } else "The night sky is spangled with thousands of flickering stars, eyes keeping watch over humanity."; ], has scenery pluralname; Object maan_raam "moon" class Prop, with pname '.p' 'moon' '.p' 'moonlight' '.p' 'light' '.p' 'man' '.p' 'man' 'in' 'the' 'moon' '.p' 'bleak' 'puddles' '.p' 'bleak' '.p' 'puddles', found_in mijnslaap tuin bos_1 bos_2 bos_3 ophaalbrug overloop, description [; if (location == mijnslaap){ "Through the window you can see the full moon against a sky of stars. For a moment it seems as if the man in the moon winks at you reassuringly, but then he returns to his usual mysterious expression."; }; if(location == overloop){ if(over_deur has open) {"The silvery light of the moon flows from the bedroom into the landing.";} else {"The door to the bedroom is closed, so you cannot see the moon.";}; } else if (wolvin.status ~= 99){ "The man in the moon regards you coldly, almost accusingly, from his elevated position."; } else { "The white ball gives more than enough light for you to see by."; }; ], has scenery male; Object bos_raam "woods" class Prop, with name 'forest' 'wood' 'woods', found_in mijnslaap tuin, description "The woods lie as an ink-black mass over the hills. At this hour and in this season it is a dangerous place, full of wild animals.", has scenery; Object over_deur class Deur, with name '.p' 'door' '.p' 'door' 'to' '.x' 'the' '.or' 'my' '.or' 'our' 'bedroom' '.or' 'landing', short_name [; if (location == mijnslaap) print "door to the landing"; else print "door to the bedroom"; return true; ], description [; if (location == mijnslaap) "The close-fitting door separates your bedroom from the landing, and hence from the rest of the house."; else "This door leads back to the bedroom."; ], found_in mijnslaap overloop, door_dir [; if (location == mijnslaap) {return n_to;} else {return s_to;}; ], door_to [; if (location == mijnslaap) return overloop; else return mijnslaap; ], has door openable ~open scenery male; Object nachtkastje "pine night table" mijnslaap class PropSup, with name 'table' 'night' 'pine', description [; print "A simple night table made of pinewood, the very first piece of furniture you ever made."; if(parent(foto) == self){print " On the night table is a family photo.";}; ""; ], before[; Open: "In the drawer of the night table lies nothing that could help you to free your daughter."; ], has ; Object deurtje "drawer" nachtkastje class Prop, with name 'drawer', description "A simple pine drawer without a lock.", has ; Object foto "family photo" nachtkastje with name 'photo' 'family photo' 'picture' 'portrait' 'photograph', description [; if (verhaaltracker.status < 6){"This photograph, made for the tenth anniversary of your marriage to Hilde, is a few years old. Solemnly, you stand next to each other like two black-and-white statues, once again clad in your wedding clothes. In the foreground, close against you, stands your daughter Maartje--little Maartje, in her beautiful white dress, a radiant smile on her face. In the picture you have laid a protective arm across her shoulder--but now she has been kidnapped by the evil baron. Once again you vow to do everything possible to free her.";} else {"This photograph, made for the tenth anniversary of your marriage to Hilde, is a few years old. Solemnly, you stand next to each other like two black-and-white statues, once again clad in your wedding clothes. In the foreground, close against you, stands your daughter Maartje. Little Maartje, in her beautiful white dress, wears a grave expression. She seems very uncomfortable with the arm you have laid across her shoulders.";}; ], after [; PutOn: if(parent(self) == nachtkastje){give self concealed;}; Take: give self ~concealed; return false; default: return false; ], before [; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "The photo that used to document your happy family life is utterly consumed by the fire, until nothing than the shadow of a lie remains."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has concealed; Object overloop "On the landing" with name 'landing' 'corridor' 'upstairs' 'darkness', description [; print "The landing is enveloped by uneven darkness. "; if(over_deur has open){print "Moonlight enters through the open door to your bedroom in the south. ";} else {print "The door to your bedroom is closed. ";}; if(maartje_deur has open){print "To the north, the red door to Maartje's room is slightly ajar. ";} else {print "A red door to the north leads to the room of your daughter Maartje. ";}; "Next to the stairs down stands an elegant cupboard, above which hangs a large ornate mirror in a gilded frame."; ], s_to over_deur, n_to maartje_deur, d_to over_trap, out_to over_trap, before [; Go: if(noun == d_to) {TrapNaarTuin(); return true;}; ], has light transparent; Object kastje "cupboard" overloop with name 'cupboard', description "This elegantly carved cupboard is one of the few pieces of furniture in the house that you have not made yourself: it comes from the inheritance of Hilde's grandmother. The two little doors in the front don't quite fit, a defect you have been planning to fix for years, though you somehow never got around to it.", has container openable ~open scenery; Object deurtjes "doors" overloop with name 'doors' 'little', description "Made of the same cherrywood as the rest of the cupboard, wear and tear has made them hang slightly askew on their hinges.", before [; Open: <>; ], has scenery pluralname; Object scharnieren "hinges" overloop with name 'hinges' 'hinge' 'copper', description "Four copper hinges that still function perfectly, but have grown loose over the years.", has scenery pluralname; Object fotoboek "album" kastje with pname '.p' 'album' '.p' 'book' '.p' 'photoalbum' '.p' 'photos' '.p' 'photographs' '.p' 'family-album' '.p' 'photo' '.p' 'next' 'page' '.or' 'photo' '.p' 'more' 'photos', gesloten 1, description [; self.gesloten = 0; if (verhaaltracker.fotoalbum < 5) {Herinner(2);} ! Fotoalbum else{"Once again, you leaf through the photo album, but this time you don't let yourself get carried away by your memories. No matter how closely you look, the second half of the book remains empty.";}; ], before [; Consult, Open: <>; Close: if (self.gesloten == 1) { "The album is already closed."; } else { self.gesloten = 1; if (verhaaltracker.fotoalbum == 5) { "With a melancholy sigh, you close the photo album."; } else { "You decide not to look at the rest of the photos, and close the album."; }; }; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "You relinquish the album to the flames and see, with a mixture of horror and grim satisfaction, how even the memory to a lost happiness falls to the flames' eternal hunger."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has transparent; Object lijmresten "traces of glue" fotoboek class Prop, with name 'glue' 'traces', description "Simple traces of glue, as if all the photographs made after a certain date had been torn out of the album." has pluralname concealed; Object spiegel "mirror" overloop class Prop, with name 'mirror', description [; print "You gaze at yourself from the mirror"; if(kleding has worn) { print ", heroism shining in your eyes. Your macho lumberjack outfit fits like a glove and accentuates the heavy muscles of your arms. "; } else { print ". In your nightshirt, you look more desperate than heroic, but appearances are deceiving. "; }; print "A grim smile plays around the corners of your mouth when you think of the fear the baron will feel when you enter his castle to "; if(parent(axe) == player){ "decapitate him with your heavy axe."; } else { "pound him into pulp with your strong fists."; }; ], before [; Attack: "The time for that has not yet come."; ], has ; Object spiegel_lijst "frame" overloop class Prop, with name 'frame' 'gilded', description "The excessively decorated frame, painted with gold, would fit in better with your mother-in-law's interior than it does with yours--no surprise, since she has given it to you. It is unfortunate that as long as she regularly comes to visit you, you cannot throw it away.", before [; Attack: "You would love to, but social conventions stop you."; ], has ; Object maartje_deur class Deur, with pname 'door' 'red' '.p' '.x' 'red' 'door' 'to' '.x' 'Maartje^s' '.or' 'room' '.or' 'bedroom' '.or' 'landing', short_name [; if (location == haarslaap) print "door to the landing"; else print "door to Maartje's room"; return true; ], description [; if (location == overloop) "This door, painted in a cheerful red, leads to the room of your kidnapped daughter Maartje."; else "This door leads beack to the landing."; ], found_in haarslaap overloop, door_dir [; if (location == haarslaap) {return s_to;} else {return n_to;}; ], door_to [; if (location == haarslaap) return overloop; else return haarslaap; ], has door openable ~open scenery; Object over_trap "stairs" with pname 'stairs' '.p' 'down' '.p' 'downstairs' '.p' '.x' 'wooden' 'stairs' '.x' 'down' '.p' 'downwards' '.p' 'outside', description "The wooden stairs circle downwards into ink-black depths.", found_in overloop, door_dir d_to, door_to tuin, before [; Climb, Go, Enter: if (noun == self || noun == d_obj || noun == tuin) { TrapNaarTuin(); return true; }; ], has door scenery pluralname open; [ TrapNaarTuin ; print "Cautiously you seek your way downwards through the darkness. In the hall you grab your winter coat and put it on, then you open the front door and step outside into the garden."; VraagToets(0,0,0); PlayerTo(tuin); move jas to player; give jas worn; give tuindeur open; return true; ]; [ TuinNaarTrap ; if (tuindeur has open) {print "Through the open front door you step inside again.";} else {print "Opening the front door, you step inside.";}; print " You hang your coat on the hall-stand, and climb the dark stairs back to the landing."; VraagToets(0,0,0); PlayerTo(overloop); move jas to over_trap; give jas ~worn; return true; ]; Object jas "winter coat" over_trap with name 'coat' 'winter', description [; print "You bought this winter coat recently, after much urging by your wife. True, there were holes in your old one, and it wasn't half as warm, but it was familiar, it was "; style bold; print "your"; style roman; " winter coat--but women don't understand that sort of thing."; ], before [; Disrobe: if(verhaaltracker.status < 6 && kleding hasnt worn) { "It is ice cold outside. Only your thick winter coat protects you against freezing."; } else if (verhaaltracker.status < 6 && kleding has worn) "It is ice cold outside. The thick winter coat and your working clothes are necessary to protect you against freezing."; Burn: <>; ], has clothing; Object haarslaap "In Maartje's room" with name 'maartje' 'room' 'bedroom' 'maartje^s', description "Without Maartje's radiant presence, her room seems dead and empty. It is a dreary sight: a bed in which nobody sleeps, a dollhouse with which nobody plays, a desk behind which nobody studies. The gay colours in which you painted her ceiling and furniture appear in the pale light of the stars as a pallet of greys. The door to the south leads back to the landing.", s_to maartje_deur, react_before [; Sleep: "If only you could fall asleep again and dream of Maartje, to do nothing, to think of nothing but her slender appearance. But you cannot. She has been kidnapped by the baron, and you can't sleep until you have at least tried to free her. You will keep thinking of Maartje, and even if you were somehow able to pretend she was contentedly sleeping in her bedroom, there will be another day tomorrow, and yet another the day after, and the truth would eventually overcome you. It is better to face the evil today than to postpone it until tomorrow."; ], has light transparent; Object maartjebed "Maartje's bed" haarslaap class Furniture, with name 'bed' 'Maartje^s' 'child^s', geslapen 0, description [; print "Under the window is Maartje's bed, a spacious child's bed that is, like almost every piece of furniture in your house, a product of your diligent labour."; if(self.geslapen == 0){ if(parent(kussen) == self){ print " The bed has been neatly made, the sheets perfectly straight, the pillow puffed up. Too virginal, too untouched, as if it was never meant to be used by humans."; } else{ print " The bed has been neatly made, the sheets perfectly straight, although the pillow is missing. It has evidently not been slept in."; }; } else{ if(parent(kussen) == self){ print " The sheets on the bed are disorderly and the pillow lies to one side, as if someone has recently slept here. It makes the room look less sepulchral."; } else{ print " The sheets on the bed are disorderly, as if someone has recently slept here. It makes the room look less sepulchral."; }; }; ""; ], before [; Search, Look: if(parent(dagboek_sleutel) == kussen) { move dagboek_sleutel to player; give dagboek_sleutel ~concealed; "You find a small copper key hidden under the pillow. Surprised, you pick it up."; } else return false; Enter: self.geslapen = 1; return false; ], has enterable container transparent scenery open proper; Object deken_maartje "Maartje's blankets" maartjebed class Prop, with name 'sheet' 'sheets' 'blanket' 'blankets', description [; if(maartjebed.geslapen == 0){ "The red and blue blankets lie neatly on the bed."; } else { "The red and blue blankets have been draped over the bed in a disorderly fashion."; }; ], before [; Attack: maartjebed.geslapen = 1; "Fiercely, you hit and tear at the sheets and blankets on Maartje's bed to disturb their unbearable neatness."; LookUnder: maartjebed.geslapen = 1; "You look under the blankets, but do not find a thing."; Pull: maartjebed.geslapen = 1; "You pull at the sheets and blankets on Maartje's bed to disturb their unbearable neatness."; Push, Take, Kreuk: maartjebed.geslapen = 1; "You crumple the sheets and blankets on Maartje's bed to disturb their unbearable neatness."; ], has proper pluralname; Object kussen "Maartje's pillow" maartjebed with name 'pillow' 'Maartjes' 'Maartje^s' 'pillowcase', description "Maartje's pillow is comfortably soft, as it is filled with feathers. A jocund pillowcase in all the colours of the rainbow envelops it.", before [; Examine, Search, LookUnder: if(parent(dagboek_sleutel) == kussen) { move dagboek_sleutel to player; give dagboek_sleutel ~concealed; "You find a small copper key hidden under the pillow. Surprised, you pick it up."; } else return false; Take: if(parent(dagboek_sleutel) == kussen) { move dagboek_sleutel to player; give dagboek_sleutel ~concealed; "You find a small copper key hidden under the pillow. Surprised, you pick it up."; } else { "The pillow is too big and awkward to carry along on your quest. The bed is a better place for it."; }; ], has proper; Object dagboek_sleutel "ornate key" kussen with name 'key' 'small' 'copper' 'ornate', description "The small copper key, ornamented with delicate patterns, shows traces of intensive use.", before [; Drop, ThrowAt: if(parent(player) == kasteel_kerker_cel && parent(self) == player) { if(kasteel_kerker_cel has locked) sleutelweg.select(1); return true; } return false; ], has concealed; Object raam_maar "window" haarslaap with name 'window' 'windowpane' 'outside', description "Threateningly, the coniferous forest looks at you through the window, its hostile silence a promise of hardship and danger. Somewhere, hidden deeply within it, lies the baron's castle. And somewhere, deep in the castle, the dungeon where Maartje is imprisoned. You can almost see her, crying for her father, lonely, abandoned, locked up in a cold stony cell.", before [; Search: <>; Close: if(self has open){give self ~open; "You close the window, and a funereal silence returns.";}; Open: if(self hasnt open){give self open; "The window swings open, and the sound of the wind through the coniferous forest softly sneaks into the room. Somewhere, far away, you hear the howling of wolves.";}; Climb: "Although that is a way to get outside and start your journey to the castle, it seems more sensible to use the stairs."; ], has scenery openable ~open; Object sneeuw_maar "snow" haarslaap class Prop, with name 'snow' 'white' 'layer', description "During the past few days a thick layer of white snow has settled on the landscape. The branches of the trees bow down under their white burden.", has scenery; Object maan_maar "moon" haarslaap class Prop, with name 'moon', description "From this side of the house the moon cannot be seen.", has scenery; Object bos_maar "forest" haarslaap class Prop, with name 'forest' 'wood' 'woods' 'trees' 'tree' 'coniferous', description "The forest lies as an ink-black mass upon the hills. And in the heart of this darkness lives the malicious baron.", has scenery; Object heuvels_raam "hills" class Prop, with name 'hills' 'hill', found_in haarslaap mijnslaap, description "In the summer, the verdant hills give this area a picturesque appearance. But in these cold winter months, they cower beneath the sombre woods.", has pluralname scenery; Object wolven_maar "wolves" haarslaap class Prop, with name 'wolves' 'wolf', counter 0, description [; print "You can see no movement in the woods, at least not from this distance."; if (raam_maar has open) { print " But lamenting howls rise, hardly audible, from the far hills."; }; ""; ], before [; Listen: if(self.counter == 0){self.counter = 1; "You lean out of the window to better hear the howling of a pack of wolves. Their many lamentations form a single melody, for a moment, and then suddenly cease. An ominous silence follows, and you heave a sigh of relief when a minute later the sound of a lonely wolf comes from another part of the forest.";} else { "From the depths of the forest, now and then rises the howling of wolves."; }; ], has scenery pluralname; Object wind "wind" haarslaap class Prop, with name 'wind', before [; Examine, Listen: "The wind sighs softly along the snow-laden branches of the coniferous forest."; ], has male; Object poppenhuis "dollhouse" haarslaap class Furniture, with name 'dollhouse', description "You built this dollhouse yourself: three stories, with little doors and windows that can actually open and close, all kinds of furniture, and wooden dolls with finely carved faces that make the house their home. Hilde made the curtains, the carpets and little clothes for the dolls.", played 0, before [; Play: if(self.played == 0) { self.played = 1; "You lower yourself to your knees before the dollhouse, and gaze dispiritedly at the dolls. Then you pick up the mother with your left hand and the father with your right hand. You have father enter the house through a little door.^^~Well mum,~ he says, ~I have worked very hard today. You have no idea how hungry I am!~^^~Well dad,~ she answers in a strange high-pitched voice, ~that is good, because I have cooked an entire doll's kettle full of doll's porridge. Children, come and eat, father is home!~^^You put the two dolls on their doll's chairs, and pick up the daughter. She walks to the sitting room, en whan she sees her father she cries: ~Daddy!~^^^Distressed, you close your eyes and put the dolls away.";} else { "As you reach for the dolls, you remember Maartje and your vow to rescue her."; }; ], has scenery container open; Object pop_deurtjes "doll's doors" poppenhuis class Prop, with name 'doors' 'door' 'little' 'doll^s' 'handle' 'handles', description "Painted doors with moving handles separate the different rooms in the dollhouse. This way, the dolls have some privacy, and less nuisance from draughts.", has pluralname; Object pop_meubels "doll's furniture" poppenhuis class Prop, with name 'furnitures' 'chairs' 'tables' 'chair' 'table' 'little' 'doll^s', description "Small chairs are grouped around minature tables.", has pluralname; Object pop_raampjes "doll's windows" poppenhuis class Prop, with name 'windows' 'window' 'doll^s' 'little', description "The sides of the dollhouse are adorned with doll-sized windows, in front of which hang moveable curtains. Here the dolls can look outside: the front of the house is opened, but obviously not to them.", has pluralname; Object pop_gordijntjes "doll's curtains" poppenhuis class Prop, with name 'curtains' 'curtain' 'doll^s' 'little', description "Hilde made small curtains that fit in with the rest of the interior. Dolls have style too.", before [; Pull, Push: "You pull the delicate doll's curtains closed, then push them open again."; ], has pluralname; Object pop_kleedjes "doll's carpets" poppenhuis class Prop, with name 'carpets' 'carpet' 'little' 'doll^s', description "Soft carpets with wild patterns cover the wooden floor of the dollhouse, and give that cosy appearance to the rooms that they would otherwise lack.", has pluralname; Object pop_kleertjes "doll's clothing" poppenhuis class Prop, with name 'clothing' 'clothes' 'doll^s' 'little', description "Hilde sowed these clothes with eye for the finest detail: dresses, pants, shirts, skirts, shoes, even tiny socks and hats have not been forgotten. It might well be that you have never seen Hilde as happy as when she could put all her love and creativity into this.", has pluralname; Object poppen "dolls" poppenhuis with name 'dolls' 'doll' 'father' 'mother' 'son' 'daughter', description [; if(poppenhuis.played == 0) "Four dolls live in the dollhouse: a father, a mother, a son and a daughter. Father is sitting on the couch, reading a newspaper, while mother, probably busy cooking a meal, stands in the kitchen. The son gazes thoughtfully out of the window, while the daughter doll, dressed in her little red dress, lies on her bed in her bedroom."; if(poppenhuis.played ~= 0) "Four dolls live in the dollhouse: a father, a mother, a son and a daughter. Father and mother are sitting on chairs around the dinner table, where you just put them yourself. The son gazes thoughtfully out of the window, while the daughter doll, dressed in her little red dress, lies on the floor of the kitchen."; ], before [; Take: "Right now, the dolls are the only ones in your house that have a normal family life, and you're not planning to disturb that."; Play: <>; ], has pluralname; Object bureau "desk" haarslaap class Furniture, with name 'desk' 'table' 'beech' 'notebooks' 'crayons', description "The small desk made of lacquered beech wood is covered with sheets of paper, notebooks and crayons.", has scenery supporter; Object papier "sheets of paper" bureau class Prop, with name 'sheet' 'paper' 'sheets' 'blank' 'stacks' '.p' '.or' 'sheets' '.or' 'stacks' '.x' 'of' 'paper', description "Several neat stacks of blank paper lie on the left side of the desk, but dozens of drawings chaotically cover the rest of the tabletop.", has pluralname; Object tekeningen "drawings" bureau class Prop, with name 'drawing' 'drawings', description "All the drawings Maartje has made are gay and happy: butterflies flap about a meadow full of flowers; a small house with your family in front of it; a father pulling a sledge on which his daughter is sitting. The bright colours burst from the white paper, even in the pale light of the stars.", has pluralname; Object dagboek "diary" bureau with counter 0, pname 'fake' 'leather' '.p' '.x' 'red' 'diary', with_key dagboek_sleutel, before [; Open: if (self has locked && parent(dagboek_sleutel) == player) { ; return true; } else { <>; }; Unlock: if (self hasnt locked) "The diary has already been unlocked."; if (self has locked && second == dagboek_sleutel) { print "You insert the copper key into the lock, and turn it carefully. With a soft click, the diary springs open.^"; give self ~locked; return true;} print "After several failed attempts, you conclude that ", (the) second, IsorAre(second), " not the key to this diary.^"; return true; Consult, Examine: if (self has locked && parent(dagboek_sleutel) ~= player) { "The book, bound in fake red leather, must be a diary, since it is locked by a small copper lock. But although you burn with curiosity, you will not damage Maartje's diary."; } else { if (self has locked && parent(dagboek_sleutel) == player) {; print "^";} if (self.counter == 0) { self.counter = 1; print "You feel absurdly guilty when you open the diary to read what secrets your little daughter has entrusted to it. Of course a father shouldn't do this, but this is an emergency. Perhaps it contains something that can help you free her."; VraagToets(0,0,0); "But nothing is written in the diary, not a single word. Instead, the pages of the first half of the diary have been completely filled in with black ink. From top to bottom, from left to right, with unfailing precision each white page has been transformed into solid black. The second half of the diary is still blank, untouched, stainless. Distraught, you close the diary."; } else { "Once again you examine the diary, and once again are there only pages coloured a solid black in the first half, and lily-white pages in the second half. Maartje has never written a word, or she has made them all unreadable."; }; }; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; move kaft to location; "The diary immediately goes up in flames, and the deep black of the ink changes into the grey black of ashes. After several minutes only the non-flammable fake leather cover of the diary remains, a form without content."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has openable ~open lockable locked; Object plafond "ceiling" haarslaap class Prop, with name 'ceiling' 'up' 'scenes', description "Painted with sweet scenes, normally the ceiling of Maartje's room radiates gaiety and carefreeness. Her absence seems to have robbed them of their lustre.", has ; Object meubilair "furniture" haarslaap class Prop, with name 'furniture', description "A bed, a desk and a beautiful dollhouse, complete with tiny beds and tiny desks and--no, not with a tiny dollhouse--make up the furniture in Maartje's room.", has ; Object beer "teddy" haarslaap with name 'bear' 'teddy' 'teddybear' 'teddy-bear' 'toy' 'brown', description [; if(verhaaltracker.status < 5){ "Brown has been Maartje's favourite toy animal and most loyal companion for years. The smile on his face is reassuring, and even if his eyes are merely buttons, some kind of intelligence seems to reside in them."; } else { "Brown has been Maartje's favourite toy animal and most loyal companion for years. But the smile on his face is melancholic rather than reassuring, and even if his eyes are merely buttons, they nevertheless seem to be about to start crying bitterly."; }; ], before [; Knuffel: "You take the bear into your strong arms, and hug him as if your life depends on it. A tear rolls over your cheek when you remind yourself that Maartje doesn't even have the consolation of her teddy."; Kiss: "You give the teddy a kiss on his brown snout, and whisper in his ear that you will bring back Maartje."; Burn: if(TestScope(toorts,player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; move knopen to location; "Brown burns like oil, and smokes like a chimney. When the flames reach his head, he looks with a sad expression of incomprehension. ~I thought you loved me...~ is the message in his button eyes.^^ ~Brown, no, I'm sorry,~ you stammer, and you try to extinguish the fire. But you are too late, and nothing remains of the teddy but the two buttons, half-melted."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has male; Object knopen "Brown's eyes" with name 'eyes' 'Brown^s' 'button' 'buttons', description "Two black buttons, half-melted in the searing fire to which you committed Brown, are all that this honest bear has left to the world.", has pluralname; Object tuin "In the garden" with name 'garden' 'outside' 'downstairs' 'down', description "Your front garden too has been buried by a thick layer of snow, which hides all plants from view. Only a few bare bushes that crouch against the garden fence penetrate the white blanket. Behind you, the front door leads back into the house, while the road to the east winds through the village and the forest to the baron's castle. From his unreachable heights the moon looks reproachfully down on you. The tip of the church tower can be seen above the houses on the other side of the road.", u_to tuindeur, n_to tuindeur, in_to tuindeur, s_to "That leads to the village square next to the church, far from Maartje.", w_to "That road would take you out of the valley, each step taking you farther away from Maartje and the baron.", e_to bosdeur, has light transparent; Object tuinhek "garden fence" tuin class Prop, with name 'fence' 'garden' 'opening', description "A low wooden fence separates your garden from the street. The garden path leads to the opening in the fence.", before [; Close, Open: "The fence does not enclose the garden entirely: an opening has been left in it."; ], has ; Object tuinpad "garden path" tuin class Prop, with name 'path' 'garden', description "There is but a little snow on the garden path, because you swept it only this afternoon. From the front door it leads to the opening in the fence.", has ; Object tuinstruik "bushes" tuin class Prop, with name 'bush' 'bushes', description "The bushes have long lost their leaves and their charm. They await the new spring as wooden skeletons.", has pluralname; Object overkant "other side" tuin class Prop, with name 'other' 'side', description "The houses on the other side of the street are much like yours: two stories, wooden, covered with snow. It seems that your neighbours are sleeping, as no light shines from their windows.", has ; Object straat "street" tuin class Prop, with name 'street' 'road' 'sludge', description "The streets are full of the dirty brown sludge that remains when feet and cartwheels mix snow with mud.", before [; Cross: "You see nothing of interest on the opposite side of the road."; ], has ; Object huis "your house" tuin class Prop, with pname 'house' 'my', description "Your house is, like almost every house in the village, built from wood and has been painted in simple, plain colours. It has two stories: the bedrooms are on the top story, the living room and the kitchen are on the bottom one. You glance through the window of your bedroom, but Hilde does not appear to wave you goodbye.", before [; Enter, Go, GoIn: <>; ], has proper; Object tuindeur "door" with pname '.x' 'yellow' 'door' '.p' 'inside' '.p' 'in' '.p' 'front' '.p' 'landing' '.p' 'upstairs' '.p' 'corridor', description "Last summer, you painted the front door a mustard yellow.", found_in tuin, door_dir u_to, door_to overloop, react_before [; Climb, Go, GoIn, Enter: if (noun == self || noun == u_obj || noun == overloop || noun == n_obj || noun == in_obj) { if(TuinNaarTrap() == true) return true; }; ], has door scenery open openable; Object brievenbus "letterbox" tuin class Furniture, with name 'letterbox' 'mailbox' 'box', description "A small letterbox hangs on the outside of the garden fence.", before [; Insert: if(second == self) { if (noun == axe || noun == beer || noun == kleding) { "That doesn't fit in the letterbox."; }; }; ], has openable ~open container; Object baron_brief "letter from the baron" brievenbus with pname 'letter' '.p' 'letter' 'from' 'the' 'baron' '.p' 'parchment' '.p' 'signature', description [; print "In elegant handwriting, a message has been written on the parchment:^^"; style bold; print "To Maartje's parents,^ ^ With this letter I want to tell you that your daughter Maartje has been taken from your home and brought to my castle at my command. Do not worry: she is safe here and is well taken care of. Do not try to visit Maartje or take her away from me; my castle is heavily guarded and you would only risk your own well-being.^ ^ I understand that it must be difficult for you to lose your daughter, and I apologise for your suffering. What is my motive? I love her, and I cannot live without her at my side. With me she will be happy, I promise that on my honour and my hope of salvation. Someday you will understand that this is the best possible situation.^ ^ The Baron.^^"; style roman; "Trembling with anger you stare at the signature at the bottom of the page."; ], before [; Consult: <>; Attack: move snippers to parent(baron_brief); remove baron_brief; "In a fit of rage you tear the letter apart in dozens of shreds. How dare he! ~I love her,~ he writes. The heartless villain..."; Burn: if(TestScope(toorts, player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "That feels good! You incinerate the baron's lies, that you will never have to read them again."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has male; Object snippers "shreds" baron_brief with name 'shreds' 'shred', description "These shreds are all that remains of the horrible letter from the baron.", before [; Eat: if(actor == player && noun == self) { print "You put the shreds into your mouth, mash them to a pulp, and then swallow every memory of the infamous letter.^"; remove self; return true; }; Burn: if(TestScope(toorts, player)) { if(second == toorts || second == nothing) { if(toorts has general) { remove self; "You sprinkle the little shreds of paper into the flame of the torch; as a flight of foolish moths they are set ablaze, flutter downwards and are utterly consumed before they reach the ground."; } else { "Now that the torch has gone out, it can't set anything on fire."; } } else { "You can't use that to make a fire."; } } ], has pluralname; Object axe "axe" tuin with name 'axe', description [; if(baron.state == 1 || baron.state == 2) "This is your most important tool. Without doubt you have felled thousands of trees with it. The axe is well-honed, has a good balance, and with your muscles the weight is no problem at all. You will probably be able to cleave the baron's head in a single blow."; "This is your most important tool. Without doubt you have felled thousands of trees with it. The axe is well-honed, has a good balance, and with your muscles the weight is no problem at all."; ], before [; Burn: "The axe won't burn; the wooden handle is much too tough and hard."; ], has male;